查看原文
其他

为什么学编程都建议不要用拼音命名?

脚本之家 2023-09-08

The following article is from 陶朱公Boy Author 欢迎关注👉

将 脚本之家 设为“星标

第一时间收到文章更新

出品 | 陶朱公Boy(ID:taozhugongboy)
已获得原公众号的授权转载

前言

知乎上有个提问:为什么学编程都建议不要用拼音命名?

↓↓↓


不知道身为程序员的你,曾经有没有用拼音在程序代码中命名变量名、方法名、注释等的经历?

作为国内的程序员,可能有小伙伴会埋怨,编程语言和开发工具都已经全英文了,用拼音命名怎么了又,不好吗。

现如今汉语普及率这么高的今天,全世界都在学中国话,用拼音命名不是挺好。

在这里,我们不妨先思考一下,我们用拼音命名,在实际软件开发过程中,会有什么问题,缺陷在哪里?

ChatGpt回复

带着疑问,我打开了chatgpt,想知道一下它是怎么看待这个问题?(面向gpt编程,程序员做事的正确姿势🤭)

以下是gpt给出的答复:

不得不感叹,gpt回答的确实比较专业,考虑问题也比较全面。

接下来,我们一一来拆解一下:

   可读性差

如果一个项目,全程都只有你一个人编写与维护,这个问题的影响面可能相对还小一点(不要告诉我,时间一长,你自己都看不懂当时写的语意了,这就尴尬了😓)。

但,事实往往是,我们需要在一个大项目中,去编写部分业务模块代码。

有时候,我们为了赶时间或纯粹不想动脑筋,用拼音快速命名了一下临时变量或方法名。

比如下面这个例子:

var jianceniandu = ...
var nongtianchanliang = ...
var dikuaibianma = ...
var feiliaohanshuilv = ...

这种代码换做谁看得懂,特别是在没有注释的前提下。

   难以表达意义

大家看下如下两段代码的对比,一个是用英文命名的方法名,一个是用拼音命名的方法名,大家感受一下,你更愿意看到的是哪个?

第一个方法,都不用我写注释,你一看就秒懂,这个方法表达的意图,做的事情。

但第二个,如果拼音简短一点的可能还好,但凡还要长的,你未必一时能看懂其含义,有时甚至要深入方法内部,查看完所有方法代码后,你才能反应过来,前人写的这个方法名表达的含义。(效率是真的低)

public void sendEmail(Message message){

      //发送邮件相关代码
}
                 vs
public void faSongYouJian(Message message)
{

      //发送邮件相关代码
}

   IDE搜索困难

纠其原因,目前我们开发使用的IDE都是国外的软件,全文索引这块,对英文支持良好,但拼音支持不好,所以,有时候会影响搜索结果的。

   跨语言兼容性差

如果我们的软件,打算开源,甚至未来有计划捐给一些国外基金会,比如Apache等,那么你写的代码,是面向全球化的,但问题来了,如果你写了拼音这种变量,老外是铁定看不懂的,这会显得这款软件很不国际化。

   产生歧义

关于这一点,先贴几个案例,大家可以感受一下,先憋着别笑:

相关的案例不少,我就不穷举了。你用拼音命名我就先不说了,你还“简称”代替,你这不要人命嘛。

  推荐阅读:
  1. 电话背调,我给他打了8分
  2. 学了两门编程语言后才知道的一些事
  3. 程序员编程的常见原则,请牢牢记住!
  4. 一个国外小老头,用被淘汰的编程工具,开发了一个了不起的软件
  5. 80岁还嗖嗖改代码!他是Unix命名人,发明“Hello World”,他说解决问题全靠拖

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存